
\section{PARAM.in \label{section:param.in}}

The input parameters for CIMI are read from the 
{\tt PARAM.in} file which must be located in the run directory.

We refer to the lines starting with a \# character as commands.

For example if the command string 
\begin{verbatim}
#END
\end{verbatim}
is present, it indicates the end of the run and lines following
this command are ignored. If the \#END command is not
present, the end of the file indicates the end of the run.

There are several features of the input parameter file syntax
that allow the user to easily run the code
in a variety of modes while at the same time being able to 
keep a library of useful parameter files that can be used
again and again.

The syntax and the content of the input parameter files
is defined in the PARAM.XML files. 

This file can be read (and edited) in a normal editor.
The same files are used to produce much of this
manual with the aid of the {\tt share/Scripts/XmlToTex.pl} script. 
The {\tt Scripts/TestParam.pl} script also uses these files
to check the PARAM.in file.
Copying small segments of the {\tt PARAM.XML} files
into {\tt PARAM.in} can speed up the creation or modification of a 
parameter file. 

\subsection{Commands, Parameters, and Comments \label{section:commands}}

The commands in the PARAM.in file are necessary for instucting the CIMI 
to carry out the simulation. The following is an example of a parameter.
\begin{verbatim}

#TIMEACCURATE
F                       DoTimeAccurate

\end{verbatim}
In this example, the parameter is \#TIMEACCURATE and the command is 
DoTimeAccurate.
  
\subsection{The Order of Commands \label{section:order}}

In essence, the order of parameter commands within a
session is arbitrary, but there are some important restrictions.  
We should note that the order of the parameters following 
the command is not arbitrary and must exactly match what the code requires.  

\subsection{Iterations, Time Steps and Time \label{section:frequency}}

In several commands the frequency or `time' of some action has
to be defined. This is usually done with a pair of parameters.
The first defines the frequency or time in terms of the number of time steps,
and the second in terms of the simulation time.
A negative value for the frequency means that it should not be taken 
into account. For example, in time accurate mode,
\begin{verbatim}
#SAVEPLOT                                                                                           
-1           DtSavePlot
2000         DnSavePlot
T            SaveFirst
\end{verbatim}
means that a plot file should be saved after every 2000th time step, while
\begin{verbatim}
#SAVEPLOT
100          DtSavePlot
-1           DnSavePlot
T            SaveFirst
\end{verbatim}
means that it should be saved every 100 seconds in terms of physical time.



